package com.neusoft.demo2;

import java.util.Scanner;

/**
 * 方法：也可以称为函数，方法就是一个功能。
 * 作用：可重用
 * 基本语法：
 *      修饰符 返回值类型 方法名(参数类型 参数名){
 *  *          ...
 *  *          方法体
 *  *          ...
 *  *          return 返回值;
 *  *      }
 *
 *   1. 修饰符  public static
 *   2. 方法可能会返回值。返回值类型是方法返回值的数据类型(基本数据类型和引用类型)。 有返回值类型的方法一定要加return 返回值
 *      注意：返回值一定要与返回值类型匹配，返回值表示这个方法的最终结果。
 *      有些方法执行所需的操作，但没有返回值。在这种情况下，返回值类型 是关键字void。
 *   3. 方法的参数表示用户的输入，在定义方法的时候，参数相当于形参【参数类型 参数名】，多个参数之间要用逗号。
 *   4. 方法要定义在类中，方法的定义是不能嵌套的。
 *   5. 如何调用类中的方法： 类名.方法名(实参1,...实参n) 实参表示一个具体的值。 注意：如果调用的是同一个类中的方法，类名可以省略。
 *   6. 方法之间是可以相互调用的。
 */
public class MethodDemo1 {
    //定义一个无返回值类型、无参数的方法
    public static void m1() {
        System.out.println("m1......");
    }
    //方法之间是可以相互调用的
    public static void m2() {
        m1();
    }

    //计算两个数的和，所以用户要输入两个数，所以这个方法是一个有参数的方法
    public static void sum(int a,int b) {
        System.out.println(a + b);
    }

    public static void login(String username,String password){
        System.out.println(username + "------" + password);
    }

    public static String login1(String username,String password){
        //System.out.println(username + "------" + password);
        return username + "------" + password;
    }

    //定义一个方法：对数组遍历输出结果
    public static void result(int[] array) {
        //int[] array = {1,2,3,4,5};
        for(int i = 0;i<array.length;i++) {
            System.out.println(array[i]);
        }
    }

    public static int[] result1(int[] array) { //{11,12,13}
        return array;
    }

    //定义一个有返回值类型的方法
    public static int add(int a,int b,int c) {
        //System.out.println(a + b + c);
        return a + b + c;
    }


    public static void main(String[] args) {
        int[] arr = {11,12,13};
        int[] as = result1(arr);
        for (int i:as) {
            System.out.println(i);
        }
        System.out.println("------------------------------------------------------");
        String a = login1("fender","111111");
        System.out.println(a);
        System.out.println("------------------------------------------------------");
        int result = add(1,2,3); //将调用方法后的最终终结果赋值给变量result
        System.out.println(result);
        System.out.println("------------------------------------------------------");
        m1();
        m2();
        sum(1,2);
        //        Scanner input = new Scanner(System.in);
        //        System.out.println("请输入用户名: ");
        //        String username= input.next();
        //        System.out.println("请输入密码: ");
        //        String password= input.next();
        login("tom","123456"); //调用方法
        int[] array = {1,2,3,4,5,6};//初始化数组
        result(array);
    }

}
